Radio locator application

ABSTRACT

An embodiment of a method of selecting a radio broadcast includes detecting a radio broadcast and retrieving user preference data, the user preference data specifying one or more preferred radio stations and/or one or more preferred categories of radio broadcast. The method also includes communicating via a local communication device with at least one additional processing device, wherein communicating includes retrieving radio station category information specifying at least one radio station and a category of the at least one radio station. The method further includes correlating the radio station category information with the detected radio broadcast to identify a radio station that originated the radio broadcast and one or more categories associated with the radio station and/or the radio broadcast, and based on determining that the detected radio broadcast corresponds to the user preference data, displaying information describing the detected radio broadcast and/or controlling the radio receiver.

DOMESTIC PRIORITY

This application is a continuation of U.S. Non-Provisional applicationSer. No. 14/994,636, entitled “RADIO LOCATOR APPLICATION”, filed Jan.13, 2016, which is incorporated herein by reference in its entirety.

BACKGROUND

The present invention relates generally to radio receiver control, andmore specifically, to control and monitoring of a radio receiver tofacilitate finding available and preferred radio stations.

Despite developments in radio such as satellite and Internet radio,terrestrial or broadcast radio remains ubiquitous. In selecting a radiostation, a user typically tunes or scans for available radio stationsusing a radio receiver, and manually selects a station. This can beinconvenient especially when a user is traveling in a geographic regionin which he or she is not familiar with the local stations, requiringmanually tuning and listening to a broadcast in order to decide whetherthe broadcast is of interest.

SUMMARY

An embodiment of a method of selecting a radio broadcast includesdetecting a radio broadcast received by a radio receiver in a vehicleand retrieving, by a processing device, user preference data selected bya user, the radio receiver configured to receive and play terrestrialradio signals, and the user preference data specifying one or morepreferred radio stations, one or more preferred categories of radiobroadcast, or a combination thereof. The method also includescommunicating via a local communication device with at least oneadditional processing device, wherein communicating includes retrievingradio station category information stored by the at least one additionalprocessing device, the radio station category information specifying atleast one radio station and a category of the at least one radiostation. The method further includes correlating the radio stationcategory information with the detected radio broadcast to identify aradio station that originated the radio broadcast and one or morecategories associated with the radio station, the radio broadcast, or acombination thereof, and based on determining that the detected radiobroadcast corresponds to the user preference data, performing displayinginformation describing the detected radio broadcast, controlling theradio receiver, or a combination thereof.

An embodiment of an apparatus for selecting a radio broadcast includes aprocessing device configured to communicate with a radio receiver in avehicle, the radio receiver configured to receive and play terrestrialradio signals, and also includes a local communication device and aprocessing module. The processing module is configured to performdetecting a radio broadcast received by the radio receiver, andretrieving user preference data selected by a user, the user preferencedata specifying one or more preferred radio stations, one or morepreferred categories of radio broadcast, or a combination thereof. Theprocessing module is also configured to perform communicating via thelocal communication device with at least one additional processingdevice, wherein communicating includes retrieving radio station categoryinformation stored by the at least one additional processing device, theradio station category information specifying at least one radio stationand a category of the at least one radio station. The processing moduleis further configured to perform correlating the radio station categoryinformation with the detected radio broadcast to identify a radiostation that originated the radio broadcast and one or more categoriesassociated with the radio station, the radio broadcast or a combinationthereof, and based on determining that the detected radio broadcastcorresponds to the user preference data, performing displayinginformation describing the detected radio broadcast, controlling theradio receiver, or a combination thereof.

An embodiment of a computer program product for selecting a radiobroadcast includes a computer readable storage medium having programinstructions embodied therewith, wherein the computer readable storagemedium is not a signal, the program instructions readable by aprocessing circuit to cause the processing circuit to perform a method.The method includes detecting a radio broadcast received by a radioreceiver in a vehicle, the radio receiver configured to receive and playterrestrial radio signals, and retrieving, by a processing device, userpreference data selected by a user, the user preference data specifyingone or more preferred radio stations, one or more preferred categoriesof radio broadcast, or a combination thereof. The method also includescommunicating via a local communication device with at least oneadditional processing device, wherein communicating includes retrievingradio station category information stored by the at least one additionalprocessing device, the radio station category information specifying atleast one radio station and a category of the at least one radiostation. The method further includes correlating the radio stationcategory information with the detected radio broadcast to identify aradio station that originated the radio broadcast and one or morecategories associated with the radio station, the radio broadcast, or acombination thereof, and based on determining that the detected radiobroadcast corresponds to the user preference data, performing displayinginformation describing the detected radio broadcast, controlling theradio receiver, or a combination thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as embodiments is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The forgoing and other features, and advantages ofthe embodiments are apparent from the following detailed descriptiontaken in conjunction with the accompanying drawings in which:

FIG. 1 depicts a processing device in accordance with an embodiment;

FIG. 2 depicts an example of a processing environment in which aprocessing device may be used to perform embodiments described herein;

FIG. 3 depicts examples of processing modules configured to performaspects of embodiments described herein;

FIG. 4 is a flow diagram depicting an embodiment of a method ofdetecting and selecting radio station broadcasts;

FIG. 5 is a flow diagram depicting an embodiment of a method ofdetecting and selecting radio station broadcasts, which includesidentifying a geographic location;

FIG. 6 is a flow diagram depicting an embodiment of a method ofdetecting and selecting radio station broadcasts, which includesidentifying a geographic location and/or retrieving radio stationinformation using local communication.

DETAILED DESCRIPTION

Apparatuses, systems and methods are provided for detecting radiobroadcast signals and selecting radio broadcasts based on userpreferences. An embodiment of a device (e.g., a mobile device such as asmartphone) is configured to detect available radio broadcasts, retrievecategory information to identify the broadcasts and determine one ormore categories associated with the broadcast, and compare the categoryinformation to user preference data to select one or more preferredbroadcasts. In one embodiment, the device is configured to perform oneor more of various actions, such as displaying preferred broadcasts,tuning a radio receiver and programming receiver presets. In oneembodiment, the device includes a local communication device orcomponent (e.g., a Bluetooth device) and is configured to communicatelocally with other devices to retrieve the category information.

FIG. 1 illustrates an example of a computing device 10 that can be usedto perform various actions, including receiving and processing userinputs and performing various processing actions as described herein,including storing and processing data, executing programs and displayinginformation. The device 10 may be configured to receive or gathercommunications (e.g., data, text, spoken words, emails, authenticationinformation, etc.) from other locations, such as a network (e.g.,Internet) and/or another processor (e.g., server, computer or mobiledevice). The device 10 may be any device capable of receiving input fromusers, sensors and/or other devices, performing processing actions anddisplaying text and other information to a user. Examples of the device10 include as a mobile device (e.g., a smartphone), a wearable device(e.g., a smartwatch), a tablet computer, a laptop computer, a desktopcomputer, a mainframe a server and others.

The device 10 includes various components and/or modules for performingvarious processing, sensing and display functions. The device 10includes one or more processors or processing units 12, a memory 14, anda bus 16 that couples various components including the memory 14 to theprocessor 12.

The memory 14 includes computer readable media in the form of volatilememory, such as random access memory (RAM) 18 and/or cache memory 20.The device 10 may also include other removable/non-removable,volatile/non-volatile computer system storage media. For example, thememory 14 includes storage 22 including a non-removable, non-volatilemagnetic media (e.g., a hard drive), and/or removable storage media suchas a memory card or flash drive. The memory 14 may include at least oneprogram product having a set (e.g., at least one) of program modulesthat are configured to carry out the functions of embodiments describedherein. For example, the memory 14 stores a program or utility suite 24including one or more program modules 26 to carry out the functionsand/or methodologies of embodiments described herein. The program 24and/or program modules 26, in one embodiment, are configured as a radiolocation application as described further herein (e.g., a smartphone ortablet application or “app”).

The device 10 includes or is connected to various components, which maybe incorporated in the device 10 or external to the device 10. Thedevice 10 includes interfaces 28 for communication with components andmay also include a network adapter 30 (e.g., a 3G/4G modem) forcommunication with other devices or components over a suitable networkor remote connection. The device 10 is connected to or includes at leastone input device 32 such as a touchscreen, keyboard, button and/ormouse, and a display 34. The input device 32 can be incorporated withthe display 34, e.g., as a touchscreen. The components shown in FIG. 1and described herein are provided for illustrative purposes and are notintended to be limiting.

The device 10 also includes a wireless communication device 36 such asan antenna assembly for transmitting and receiving local communications,such as Bluetooth, Wi-Fi and/or near field communication (NFC)components. Local communications are distinguished from remotecommunications, by which communication is over a remote network such asa cellular network or Internet communications. Local communicationsinclude communication protocols and techniques such as Bluetooth,Ethernet, local Wi-Fi communications (e.g., between devices with rangeof a Wi-Fi hotspot or signal source).

Another component includes a radio receiver 38, which can beincorporated into the device 10, connected to the device 10 orincorporated in a separate radio receiver device such as a vehicleradio. The radio receiver 38 may be a radio tuner included in orconnected to the device (e.g., an in-phone radio tuner or a radio orstereo connected wirelessly). In one embodiment, the radio receiver 38is part of a vehicle (e.g., a car stereo system). A radio signalstrength sensor 40 may likewise be incorporated in the device 10 or in aseparate device such as a vehicle radio.

The device 10 may also include or be configured to connect to a locationdevice or system, such as a global positioning system (GPS) device 42.Various other components may be incorporated in the device 10. Forexample, one or more biometric sensors 44 (e.g., a camera, an opticalsensor, an acoustic sensor and/or a capacitive sensor) can be used forrecording biometric characteristics such as fingerprints, vital signs,facial features and others. A microphone 46 or other sound recordingdevice may be included for recording voice commands and recordingchanges in voice or other audible indicators, and a speaker 46 may beincluded for outputting audible communications and/or radio stationsignals.

FIG. 2 illustrates an operating environment 50 in which the device 10can be operated to perform the various methods and embodiments describedherein. In this embodiment, the device 10 is a smartphone or othermobile device 52. The smartphone 52 is configured to communicate with aradio receiver 54 in a vehicle 56. Communication between the smartphone52 and the radio receiver 54 can be accomplished wirelessly (e.g., viaBluetooth) or by a wired connection. Although embodiments describedherein generally describe the radio location application as stored inthe smartphone 52, the radio location application can be installed in aprocessor in the radio receiver 54.

The smartphone 52 and/or radio receiver 54 includes components tocommunicate over a cellular network via a cellular tower 58, to connectto other devices using telephone communications and/or data links. Forexample, a network 60 such as the Internet is accessed to communicatewith other devices, such as one or more servers 62 and one or moredatabases 64. The tower 58 and/or network 60 may also be used tocommunicate with devices located within other vehicles 66, such as radioreceivers and/or mobile devices (e.g., smartphones) 68 held by usersoperating the other vehicles 66.

The network 60 may connect devices configured to perform radio locationprocesses with remote data sources and devices, such as servers 62. Suchservers may be running websites or data repositories that can be used tocompile information regarding radio stations available to a user. Forexample, the network 60 can connect the device 52 to websites operatedby individual radio stations or groups of radio stations, review sitesor any other sources of information relevant to radio stations.

In one embodiment, the network adapter 30 or other suitable component isconfigured to communicate with other devices using a local communicationdevice and method, such as a wireless peer-to-peer network. For example,the device 10 includes programs and hardware to enable a mobile deviceto communicate as a peer to other devices connected by a local wirelessconnection 70 or network, such as a Bluetooth cluster.

A vehicle radio receiver such as the receiver 54 may include variouscomponents, such as a processor, memory, display, wireless communicationcapabilities (e.g., Bluetooth), GPS navigation capabilities, and/orfeatures that enable synchronization with mobile devices. In such acase, the embodiments described herein can utilize one or more of thesecomponents to perform radio location functions as described herein.

Information regarding available radio stations may be stored locally ina device memory and/or remotely at a suitable location. For example,radio station category information 72 can be stored in a device memory74 and/or remote location such as the database 64. The radio stationdata can be retrieved from remote sources such as the server 62 anddevices connected to the network 60, and/or retrieved from other devices68 using the local communication link 70.

FIG. 3 illustrates an embodiment of a program suite that includesvarious processing modules configured to perform aspects of the methodsdescribed herein. The program suite in this embodiment is embodied inthe device 10 and or the mobile device 52, but can be embodied in anysuitable processing device or system.

The mobile device 52 includes a processor or processing unit 80connected to a memory 82 and various components (e.g., those shown inFIG. 1) via one or more appropriate interfaces 84. For example, theinterfaces 84 connect the processing unit 80 to input/output devices 86and communication devices such as a cellular communication device 88(e.g., cellular transmitter and/or receiver antenna) and a localcommunication device 90 such as a Bluetooth transmitter/receiver. One ormore processing modules are stored in the memory, including an operatingsystem 92 and stored programs and applications.

A control module 94 is configured to perform functions includingdetecting radio broadcast signals, collecting radio station information,receiving user preferences, outputting radio station information andcommunicating with and/or controlling functions of a radio receiver 96.

An input module 98 receives input from a user and/or other device. Forexample, the input module 98 receives input data regarding useridentification and preferences, location information and radio stationinformation. The input module 98 may also receive inputs such as radiobroadcast signals and signal strength data.

A radio module 100 may perform functions such as receiving detectedbroadcast signal data, including signal frequency and/or modulation, aswell as signal strength. The radio module 100 communicates with one ormore databases or other storage locations, such as a user preferencesdatabase 102 that stores user identification and preference information,and a radio station database 104 that stores a list (or other datastructure) of a number of radio stations along with category informationif available. It is noted that the functionality described herein is notlimited to the specific modules and databases. For example, the controlmodule 98 may perform functions described above related to the radiomodule 100.

Based on detecting available radio stations and evaluating userpreferences, the radio module 100 determines one or more preferred orselected radio station broadcasts and transmits this information to thecontrol module 94, which can send commands to an I/O device 86 such as atouchscreen, and/or send command signals to control the receiver 96incorporated in, e.g., a vehicle. For example, control of the radioreceiver 96 includes tuning the receiver to a selected radio stationand/or setting values for one or more presets 106, each preset storing aselected radio station so that the user can select the radio station bypushing a button or icon without having to tune through otherfrequencies.

FIGS. 4-7 illustrate various embodiments of a method of selecting abroadcast radio station. The methods may be performed by a processor orprocessors disposed in a mobile device, such as a smartphone, tablet,smartwatch etc. For example, the method may be performed by the mobiledevice 52.

In one embodiment, the method is performed by a processor running aradio location application downloaded onto a user device such as asmartphone or tablet, or loaded or stored in a vehicle radio receiver.Other services such as GPS and signal strength measurements may beseparate applications stored in the user device and/or vehicle receiver,or be incorporated as part of the radio location application. The user,after initially acquiring the application, registers or subscribes andprovides identifying information (e.g., username) and optionallyadditional information for security purposes. As discussed furtherherein, the application includes capability to locate and communicatewirelessly with other devices (mobile or vehicle integrated) that haveloaded the application.

FIG. 4 illustrates an embodiment of a method 110 of controlling a radioreceiver by a processing device such as the mobile device. The method110 includes a plurality of stages represented by blocks 111-115, all ofwhich can be performed sequentially. However, in some embodiments, oneor more of the stages can be performed in a different order than thatshown or fewer than the stages shown may be performed.

At block 111, a user opens the radio location application using aprocessor embodied in, e.g., a mobile device such as a smartphone. Inone embodiment, the user inputs or updates/changes his or herpreferences for characteristics of radio programs that the user wouldlike to listen to if available. The preferences are input as userpreference data or user preference information that specifies one ormore preferred radio stations and/or one or more preferred categories ofradio broadcast. Any number or type of preference can be input. Forexample, the processor displays options for categories such as radiostation format and genre. The categories can be hierarchical, e.g., apreferred format can be input, and subcategories can be input for eachformat. Furthermore, the categories can be ranked by the user.

Radio station format refers to a broad categories such as music, talk,AM and FM. Genres may be selected to further refine the categories. Forexample, talk radio genres may include news, politics, sports,religious, etc. Music genres include, for example, rock, rap, country,and any other category of music. For example, if the user enters apreference for talk radio, the mobile device provides an option toselect a genre such as politics, news, sports, comedy, etc. Likewise, ifthe user enters a music format, the processor provides an option toselect a genre such as rock, rap, alternative, R&B, classic rock,oldies, etc. Further subcategories can also be included. For example,the rock genre may include further subcategories such as hard rock,classic rock, soft rock, etc. The user preference data may also includeidentification of particular radio stations, particular shows, andparticular broadcasters (talk show hosts, DJs). The number and type ofcategories is not limited and may be any type of category that allows auser to customize broadcast selections.

At block 112, the device scans or controls a vehicle receiver to scanfor available radio broadcasts by detecting broadcast signals. Scanningmay be performed continuously, periodically, or in response to adetected condition such as a change in signal strength or entry into ageographic area. The vehicle receiver may be a car stereo system,although the receiver may be embodied in any suitable form (e.g., aportable stereo receiver or home stereo).

The signals may be purely analog or may be a digital signal (e.g., an HDradio signal). In the case of a digital signal, the radio signal mayinclude not only audio, but also data (e.g., metadata) that identifiesthe radio station and may provide other information such as category orgenre.

The mobile device selects radio broadcast signals by detecting, e.g.,the frequency or modulation of the received signal. In one embodiment, asignal strength detector such as the strength sensor 40 may be used todetect broadcast signals having a magnitude or strength that is greaterthan a threshold. The threshold may be selected so that only signalsthat can be clearly heard by a user are selected.

At block 113, the mobile device retrieves user preference data forcomparison with radio broadcasts detected via the receiver. The userpreference data specifies one or more preferred radio stations and/orone or more preferred categories of radio broadcast, including preferredformats and/or genres. In addition, the user preference data can specifyindividual broadcasts or shows, such as talk radio hosts, radio series,sporting events and others. The user preference data may be stored inthe mobile device (e.g., in memory 74) or accessible from a remotelocation (e.g., the database 64).

At block 114, the detected broadcast signals are each identified asbeing associated with a particular source, e.g., a particular radiostation. In addition, the mobile device retrieves radio station categoryinformation. As described herein, “radio station category information”includes any retrievable information that allows the device to identifya radio broadcast (i.e., identify the station that transmitted thebroadcast) and/or that allows the device to correlate a radio broadcastwith one or more categories, e.g., format, genre, identification of aspecific show (e.g., a radio series such as a specific talk show) and/oridentification of a specific event (e.g., a sporting event or concert).The identified broadcasts are correlated with specific radio stationsthat generated each broadcast by retrieving radio station categoryinformation.

Radio station category information may be retrieved from any of avariety of sources and/or combination of sources. In one embodiment, ifmetadata is received with a radio broadcast, the device stores thebroadcast signal and uses the metadata to associate the broadcast withthe category information.

In some cases, the mobile device may already have stored the appropriateidentification and category data. This may occur due to the userinputting the information based on his or her knowledge, or due to thedevice having previously been through the geographic area and retrievedthe information.

In one embodiment, the mobile device uses a cellular and/or datacommunication (e.g., Wi-Fi if available) to access remote sources.Examples of remote sources include data stored at, e.g., one or moreservers, and accessible via one or more websites. For example, thedevice can search for websites that describe a station and broadcastschedule, such as a radio station's website, a review site or any otherwebsite that provides information regarding radio stations.

In one embodiment, retrieving the information includes communicatingwith one or more additional devices using a local communication deviceor system. For example, the device continuously, periodically orsporadically (or in response to detecting new broadcasts) broadcasts alocal signal such as a Bluetooth signal over an area surrounding thedevice. The area can be relatively small (e.g., less than ten feet) orlarger (e.g., potentially greater than five miles).

For example, the device broadcasts a signal that requests categoryinformation and describes communication parameters that specify thecommunication protocol and the radio location application. If anadditional device, such as a mobile device or radio in another vehicletraveling within the broadcast range, detects the signal and is runningan instance of the radio location application, the additional deviceresponds by transmitting category information stored by the additionaldevice. The category information may include a list of radio stationsidentified by the additional device, the categories of stations and orbroadcasts, and/or a geographic region associated with the radiostations. The list of radio stations may correspond to the presets thatare currently programmed into the radio receiver of the other vehicle.

At block 115, the device performs an action such as displaying a list ofavailable radio broadcasts along with identification and/or categoryinformation to the user. The user then may then select a desiredbroadcast by directly controlling the receiver or using the device tocontrol the receiver.

In one embodiment, the mobile device itself controls the receiver,either in response to user input or automatically in response todetecting a radio broadcast that conforms to user preferences. Asdiscussed above, the user preferences may be hierarchical, and thus thedevice may select from multiple stations that satisfy user preferencesto determine the most preferred station. For example, the device mayautomatically tune the receiver to play a preferred broadcast. Inanother example, the device may program the receiver's presets toinclude one or more preferred stations. The presets may be displayed onthe receiver or displayed by the device.

FIGS. 5 and 6 illustrate embodiments of a method of controlling avehicle radio by a processing device. In these embodiments, the methodsare similar to the method 100. In these embodiments, additionalinformation such as geographic information is used to facilitatedetection of broadcast signals, identification of broadcasts, retrievalof preference data and/or control of a radio receiver.

FIG. 5 shows an embodiment of a method 120, which includes a pluralityof stages represented by blocks 121-124, all of which can be performedsequentially. However, in some embodiments, one or more of the stagescan be performed in a different order than that shown or fewer than thestages shown may be performed.

Method 120 (and other embodiments where appropriate) may be performed asthe mobile device is stationary or moving. For example, the method isperformed during vehicle travel, although the method may be performed inthe context of other types of movement, such as while a user is walkingor running, while a user is on a bus, train or other form of transit.

At block 121, the mobile device determines whether a radio receiver isto be tuned or presets are to be programmed. This can be determinedbased on user input, such as a user request by pushing an icon on themobile device, or based on preselected conditions under which thereceiver should be tuned or programmed, such as a radio signal becomingtoo faint, the device entering a geographic area and/or new radiobroadcasts becoming available.

At block 122, a geographic location is determined using any suitabledevice. For example, the mobile device or a separate device, such as aGPS navigation device (embodied in a portable device or incorporatedinto the vehicle) detects the location and transmits the device locationto the device.

At block 123, stored radio station data is retrieved or inspected thatidentifies available radio stations and broadcasts that can be receivedwithin a geographic area that includes the device location. An exampleof such data is a radio station coverage map, which can be retrievedfrom the device memory, from a remote location (e.g., website(s)) orfrom other devices within a local communication range such as othervehicles traveling near the device and with a range of a Bluetooth orother local communication device.

At block 124, radio station category information can be obtained fromsources discussed at block 123. For example, the coverage map mayinclude category and/or identification information. The categoryinformation is compared to user preferences, and if an availablebroadcast is found that conforms to a user preference, the device maytune the receiver or add the broadcasts to the receiver presets.

FIG. 6 shows an embodiment of a method 130, which includes a pluralityof stages represented by blocks 131-137, all of which can be performedsequentially. However, in some embodiments, one or more of the stagescan be performed in a different order than that shown or fewer than thestages shown may be performed.

At block 131, the mobile device monitors the signal strength of abroadcast that is currently being played, e.g., by a vehicle radioreceiver. This monitoring can be performed continuously, periodically orin any other manner. In one embodiment, a signal strength sensor such asa single loop antenna is incorporated into the mobile device or theradio receiver and used to monitor signal strength.

If the signal strength falls below a selected threshold, the mobiledevice commences searching for other available broadcasts.

At block 132, the mobile device determines whether geographic locationinformation is available. For example, the mobile device determineswhether the radio receiver, the mobile device itself, or a separatedevice has GPS or other location capabilities.

At block 133, if location information is available, the mobile devicedetermines the location of the device, and compares the location to anysuitable data, which may be stored in the mobile device or at a remotelocation. For example, the location is compared to a coverage map thatidentifies radio stations and corresponding broadcasts that are in aregion corresponding to the location of the device. The user preferencedata is compared to the coverage map and/or any other availableinformation to select a broadcast that corresponds to user preferences.

At block 134, if location information is not available, the mobiledevice transmits a local signal, such as a Bluetooth signal, to asurrounding area. If one or more other devices, e.g., located in othervehicles nearby, detect the signal and are running the radio locationapplication, the one or more other devices transmit return signals thatinclude radio station category information. This information includes,e.g., information stored in the other device and/or informationdescribing the radio broadcasts, stations and/or category informationthat is programmed into the radio receiver of the other vehicle. Theuser preference data is compared to this information to select abroadcast.

It is noted that, although use of geographic location data and localcommunication are described in this embodiment as alternatives, thesefunctions can be performed in conjunction with one another or in acomplementary manner.

At block 135, the mobile device detects a signal strength associatedwith the selected broadcast. The signal strength is compared to aselected threshold, which may be the same as or different from thethreshold described at block 131.

At block 136, if the signal strength meets or exceeds the threshold, themobile device switches or directs the receiver to switch to the selectedbroadcast.

At block 137, if the signal strength does not meet or exceed thethreshold, the selected broadcast is excluded from further selection.The method is then repeated until a selected broadcast having asufficient signal strength is found.

Technical effects and benefits include the ability to automaticallydetect available radio broadcasts and select broadcasts according touser preferences. In addition, embodiments described herein do notrequire a centralized server and can be implemented into any vehicleusing a localized communication method without requiring an Internetconnection or cellular data plan. In addition to such embodiments beingadvantageous when a data link is not available, such embodiments arealso advantageous in that they do not require communication with centralservers that could be susceptible to commercial interest and therebycould reduce the quality of the information used to determine preferredstations.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiments were chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method of selecting a radio broadcast, themethod comprising: detecting a radio broadcast received by a radioreceiver in a vehicle, the radio receiver configured to receive and playterrestrial radio signals; retrieving, by a processing device, userpreference data selected by a user, the user preference data specifyingone or more preferred radio stations, one or more preferred categoriesof radio broadcast, or a combination thereof; communicating via a localcommunication device with at least one additional processing device,wherein communicating includes retrieving radio station categoryinformation stored by the at least one additional processing device, theradio station category information specifying at least one radio stationand a category of the at least one radio station; correlating the radiostation category information with the detected radio broadcast toidentify a radio station that originated the radio broadcast and one ormore categories associated with the radio station, the radio broadcast,or a combination thereof; and based on determining that the detectedradio broadcast corresponds to the user preference data, performingdisplaying information describing the detected radio broadcast,controlling the radio receiver, or a combination thereof, wherein theprocessing device is configured to execute a radio station locatorapplication to perform at least part of the method, and communicatingwith the at least one additional device includes establishing whetherthe at least one additional device stores an instance of the radiostation locator application.
 2. The method of claim 1, wherein theadditional processing device is located in an additional vehicle, andthe retrieved radio station category information is stored in a mobiledevice in the vehicle, the radio receiver in the vehicle, or acombination thereof.
 3. The method of claim 2, wherein the radio stationcategory information includes presets programmed into the radio receiverin the additional vehicle.
 4. The method of claim 1, wherein the localcommunication device is a Bluetooth device.
 5. The method of claim 1,wherein communicating includes broadcasting a communication signal overan area corresponding to a range of the local communication device,receiving reply signals from one or more additional processing devices,and requesting the radio station category information.
 6. The method ofclaim 1, further comprising measuring a strength of each broadcastsignal detected, and compiling a list of available radio stations, theavailable radio stations emitting a broadcast signal having a strengthabove a selected threshold.
 7. The method of claim 1, further comprisingmonitoring a first signal strength of a current radio station broadcastbeing played by the radio receiver, and in response to determining thatthe first signal strength is below a first threshold, performing:automatically identifying one or more available radio broadcasts basedon stored data identifying radio stations having broadcast ranges withina geographic region that the processing device is in, radio station datareceived from the at least one additional processing device, or acombination thereof; comparing the one or more available radiobroadcasts to the user preferences; in response to identifying abroadcast conforming to the user preferences, measuring a second signalstrength of the identified broadcast; and in response to the secondsignal strength being greater than a second threshold, automaticallytuning the radio receiver to the identified broadcast.